package cn.tedu.store.aop;


import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.AfterThrowing;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import org.springframework.web.multipart.commons.CommonsMultipartResolver;

@Component
@Aspect
public class Log {
	@Before("bean(userService)")
	public void test1(){
		System.out.println("test1方法开始执行...");
	}
	@After("bean(userService)")
	public void test2(){
		System.out.println("test2方法执行完毕...");
	}
//	//当业务方法没有发生异常，执行切面方法
//	@AfterReturning("bean(userService)")
//	public void test3(){
//		System.out.println("无异常方法执行结束");
//	}
//	//当业务方法发生异常，执行的切面方法
//	@AfterThrowing("bean(userSerive)")
//	public void test4(){
//		System.out.println("业务方法发生异常");
//	}
//	@Around("bean(userService")
//	public void test5(ProceedingJoinPoint jp) throws Throwable{
//		System.out.println("环绕通知，方法执行之前...");
//		
//		Object obj=jp.proceed();//调用业务方法
//		System.out.println("环绕通知，方法执行之后...");
//		
//	}
//	
//	
//	//配置到类上
////	@Before("within(cn.tedu.store.service.*Service)")
//	
//	//配置到方法上
//	@Before("execution(* cn.tedu.store.service.UserService.login(..))")
//	public void test6(){
//		System.out.println("定义切点");
//	}
	CommonsMultipartResolver s;
}
